# 用三个集合表示三门学科的选课学生姓名（一个学生可以同时选多门课）
s_history = {"小明", "张三", "李四", "王五", "Lily", "Bob"}
s_politic = {"小明", "小花", "小红", "二狗"}
s_english = {"小明", "Lily", "Bob", "David", "李四"}

# - 求选课学生总共有多少人
print(f"选课学生总共有 {len(s_history | s_politic | s_english)} 多少人")

# - 求只选了第一个学科（history）的学生数量和学生名称
print(f"只选了第一个学科的学生数量为：{len(s_history - s_politic - s_english)}")
print(f"只选了第一个学科的学生名称为：{s_history - s_politic - s_english}")

# - 求只选了一门学科的学生数量和学生名字
s1 = s_history - (s_politic | s_english)
s2 = s_politic - (s_history | s_english)
s3 = s_english - (s_history | s_politic)
print(f"只选了一门学科的学生数量为：{len(s1 | s2 | s3)}")
print(f"只选了一门学科的学生名称为：{s1 | s2 | s3}")

# - 求选了三门学科的学生数量和学生名称
print(f"选了三门学科的学生数量为：{len(s_history & s_politic & s_english)}")
print(f"选了三门学科的学生名称为：{s_history & s_politic & s_english}")
